import 'package:dio/dio.dart';

class HttpsClient {
  static String domain = "https://miapp.itying.com/"; //域名
  static Dio dio = Dio();

  HttpsClient() {
    dio.options.baseUrl = domain;
    dio.options.connectTimeout = Duration(seconds: 5);
    dio.options.receiveTimeout = Duration(seconds: 3);
  }

  /*
  Future 的理解：
  Future是Dart中提供的一个抽象类、泛型类，它用于封装一段在将来会被执行的代码逻辑。
  构造一个Future就会向event queue中添加一条记录。如果把event queue类比Android中的message queue的话，
  那么可以简单的把Future类比为Android中的Message.只不过Future中包含了需要完成的整个操作。
  并且利用Future的then和whenComplete方法可以指定在完成Future包含的操作后立马执行另一段逻辑

   */
  Future get(apiUrl) async {
    try {
      var response = await dio.get(apiUrl);
      return response;
    } catch (e) {
      print("请求超时");
      return null;
    }
  }

  static replaeUri(picUrl) {
    String tempUrl = domain + picUrl;
    return tempUrl.replaceAll("\\", "/");
  }
}
